//
//  main.m
//  function recursion
//
//  Created by apple on 15/7/31.
//  Copyright (c) 2015年 戴维营. All rights reserved.
//

#import <Foundation/Foundation.h>

int str(int n)
{
    int b;
    
    if (n < 0)
    {
        NSLog(@"n < 0,data error");
        return 0;       //必须保证每个都要有返回值，如果没有返回值的情况下，它会无限制多执行下去。
    }
    if (n == 0 || n == 1)  //  不要粗心大意。
    {
        return b = 1;
    }

    else
    {
        return b = str(n - 1) * n;
    }
}


int main(int argc, const char * argv[]) {
    @autoreleasepool
    {
    
        int a,n;
        NSLog(@"请输入一个整数n：");
        scanf("%d",&n);
        
        a = str(n);
        NSLog(@"%d",a);
    }
    return 0;
}
